package cn.myworld.algorithm.common;

/**
 * 线性表通用接口
 * @param <T>
 */
public interface BaseList<T> extends Iterable<T> {

    // 将一个线性表置为空表
    void clear();

    // 判断当前线性表是否为空表
    boolean isEmpty();

    // 获取线性表的长度
    int length();

    // 获取指定位置的元素
    T get(int i);

    // 向线性表中添加元素e
    void insert(T e);

    // 在i元素处插入元素t
    void insert(int i, T e);

    // 删除指定位置i处元素，并返回该元素
    T remove(int i);

    // 查找e元素第一次出现的位置
    int indexOf(T e);
}
